package ln.javatest.day08.demo08;
/*
对于成员变量来说，如果使用final关键字修饰，那么这个变量也照样是不可变。
1.由于成员变量具有默认值，所以用了final之后必须手动赋值，不会再给默认值了。
2.对于final的成员变量，要么使用直赋值，要么通过构造方法赋值。
3.必须保证类当中所有重载的构造方法，都最终会对final的成员变量进行赋值。
*/

public class Person {
    //一定要进行手动赋值
   // private final String name;
    private final String name/* = "王嘉尔"*/;

    public String getName() {
        return name;
    }
    //因为是final的，所以不能进行赋值了，不需要set了
    /*public void setName(String name) {
        this.name = name;
    }*/

    public Person(String name) {
        this.name = name;
    }

    public Person() {
        //要么直接赋值，要么构造方法赋值
        name = "王嘉尔";
    }
}
